package main

import (
	"bufio"
	"fmt"
	"log"
	"os"
)

func main() {

	// 写入文件操作
	//打开文件
	file, err := os.OpenFile("C:/Users/i/Desktop/My/go-demos/files/Test1.txt", os.O_RDWR|os.O_APPEND|os.O_CREATE, 0666)
	if err != nil {
		log.Println("文件打开出错")
	}
	defer func(file *os.File) {
		err := file.Close()
		if err != nil {
			fmt.Println("文件关闭异常")
		}
	}(file)

	//	写入文件操作 --->  IO流   --> 缓冲输出流(带缓冲区) -->
	writer := bufio.NewWriter(file)
	for i := 0; i < 10; i++ {
		// 写入一个，并且换行
		_, err2 := writer.WriteString("抽象类是使用abstract关键字修饰的类\n")
		if err2 != nil {
			return
		}
	}
	// 流到缓冲区，刷新数据---> 真正写入到文件中
	writer.Flush()

}
